package com.example.rwq_test.designParttern.multiThread.WorkerThread;

/**
 * 工作线程模式:
 *  1. 提高吞吐量：通过轮流反复的使用线程来提高吞吐量，主要取决于线程的启动时间
 *  2. 容量控制：worker角色的数量，request角色的数量
 *  3. 调用与执行的分离：提高响应速度，控制执行顺序（先执行某类请求），可以取消和反复执行，通往分布式之路
 *  4. runnable接口的意义
 *  5. 多态的Request角色
 *  6. 独自一人的worker角色
 *
 * @author renweiqiang
 * @version 1.0.0
 * @createTime 2022/11/5
 */
public class Main {
    public static void main(String[] args) {
        Channel channel = new Channel(5);
        channel.startWorkers();
        new ClientThread("Alice", channel).start();
        new ClientThread("Bobby", channel).start();
        new ClientThread("Chris", channel).start();
    }
}
